2d4440ff13f9510a2dbfbe6f4205fa10cd0f4d8c,epcis/src/main/java/org/oliot/epcis/serde/mongodb/AggregationEventReadConverter.java,AggregationEventReadConverter,convert,#DBObject#,65
Before Change
// Extension Field
if (dbObject.get("extension") != null) {
AggregationEventExtensionType aeet = new AggregationEventExtensionType();
BasicDBObject extObject = (BasicDBObject) dbObject
.get("extension");
// Quantity
if (extObject.get("childQuantityList") != null) {
QuantityListType qlt = new QuantityListType();
List<QuantityElementType> qetList = new ArrayList<QuantityElementType>();
BasicDBList quantityDBList = (BasicDBList) extObject
.get("childQuantityList");
for (int i = 0; i < quantityDBList.size(); i++) {
QuantityElementType qet = new QuantityElementType();
BasicDBObject quantityDBObject = (BasicDBObject) quantityDBList
.get(i);
Object epcClassObject = quantityDBObject
.get("epcClass");
Object quantity = quantityDBObject.get("quantity");
Object uom = quantityDBObject.get("uom");
if (epcClassObject != null) {
qet.setEpcClass(epcClassObject.toString());
if (quantity != null) {
double quantityDouble = (double) quantity;
qet.setQuantity((float) quantityDouble);
}
if (uom != null)
qet.setUom(uom.toString());
qetList.add(qet);
}
}
qlt.setQuantityElement(qetList);
aeet.setChildQuantityList(qlt);
}
// SourceList
if (extObject.get("sourceList") != null) {
// Source Dest Type : Key / Value
SourceListType slt = new SourceListType();
List<SourceDestType> sdtList = new ArrayList<SourceDestType>();
BasicDBList sourceDBList = (BasicDBList) extObject
.get("sourceList");
for (int i = 0; i < sourceDBList.size(); i++) {
BasicDBObject sdObject = (BasicDBObject) sourceDBList
.get(i);
// DBObject, key and value
SourceDestType sdt = new SourceDestType();
Iterator<String> keyIter = sdObject.keySet().iterator();
// at most one bizTran
if (keyIter.hasNext()) {
String key = keyIter.next();
String value = sdObject.getString(key);
if (key != null && value != null) {
sdt.setType(key);
sdt.setValue(value);
}
}
if (sdt != null)
sdtList.add(sdt);
}
slt.setSource(sdtList);
aeet.setSourceList(slt);
}
// DestinationList
if (extObject.get("destinationList") != null) {
// Source Dest Type : Key / Value
DestinationListType dlt = new DestinationListType();
List<SourceDestType> sdtList = new ArrayList<SourceDestType>();
BasicDBList destinationDBList = (BasicDBList) extObject
.get("destinationList");
for (int i = 0; i < destinationDBList.size(); i++) {
BasicDBObject sdObject = (BasicDBObject) destinationDBList
.get(i);
// DBObject, key and value
SourceDestType sdt = new SourceDestType();
Iterator<String> keyIter = sdObject.keySet().iterator();
// at most one bizTran
if (keyIter.hasNext()) {
String key = keyIter.next();
String value = sdObject.getString(key);
if (key != null && value != null) {
sdt.setType(key);
sdt.setValue(value);
}
}
if (sdt != null)
sdtList.add(sdt);
}
dlt.setDestination(sdtList);
aeet.setDestinationList(dlt);
}
// extension2
if (extObject.get("extension") != null) {
AggregationEventExtension2Type aee2t = new AggregationEventExtension2Type();
BasicDBObject extension = (BasicDBObject) extObject
.get("extension");
aee2t = putAggregationExtension(aee2t, extension);
aeet.setExtension(aee2t);
}
After Change
// Extension Field
if (dbObject.get("extension") != null) {
AggregationEventExtensionType aeet = new AggregationEventExtensionType();
BsonDocument extObject = dbObject.getDocument("extension");
// Quantity
if (extObject.get("childQuantityList") != null) {
QuantityListType qlt = new QuantityListType();
List<QuantityElementType> qetList = new ArrayList<QuantityElementType>();
BsonArray quantityDBList = extObject.getArray("childQuantityList");
for (int i = 0; i < quantityDBList.size(); i++) {
QuantityElementType qet = new QuantityElementType();
BsonDocument quantityDBObject = quantityDBList.get(i).asDocument();
BsonValue epcClassObject = quantityDBObject.get("epcClass");
BsonValue quantity = quantityDBObject.get("quantity");
BsonValue uom = quantityDBObject.get("uom");
if (epcClassObject != null) {
qet.setEpcClass(epcClassObject.asString().getValue());
if (quantity != null) {
double quantityDouble = quantity.asDouble().getValue();
qet.setQuantity((float) quantityDouble);
}
if (uom != null)
qet.setUom(uom.asString().getValue());
qetList.add(qet);
}
}
qlt.setQuantityElement(qetList);
aeet.setChildQuantityList(qlt);
}
// SourceList
if (extObject.get("sourceList") != null) {
// Source Dest Type : Key / Value
SourceListType slt = new SourceListType();
List<SourceDestType> sdtList = new ArrayList<SourceDestType>();
BsonArray sourceDBList = extObject.getArray("sourceList");
for (int i = 0; i < sourceDBList.size(); i++) {
BsonDocument sdObject = sourceDBList.get(i).asDocument();
// DBObject, key and value
SourceDestType sdt = new SourceDestType();
Iterator<String> keyIter = sdObject.keySet().iterator();
// at most one bizTran
if (keyIter.hasNext()) {
String key = keyIter.next();
String value = sdObject.getString(key).getValue();
if (key != null && value != null) {
sdt.setType(key);
sdt.setValue(value);
}
}
if (sdt != null)
sdtList.add(sdt);
}
slt.setSource(sdtList);
aeet.setSourceList(slt);
}
// DestinationList
if (extObject.get("destinationList") != null) {
// Source Dest Type : Key / Value
DestinationListType dlt = new DestinationListType();
List<SourceDestType> sdtList = new ArrayList<SourceDestType>();
BsonArray destinationDBList = extObject.getArray("destinationList");
for (int i = 0; i < destinationDBList.size(); i++) {
BsonDocument sdObject = destinationDBList.get(i).asDocument();
// DBObject, key and value
SourceDestType sdt = new SourceDestType();
Iterator<String> keyIter = sdObject.keySet().iterator();
// at most one bizTran
if (keyIter.hasNext()) {
String key = keyIter.next();
String value = sdObject.getString(key).getValue();
if (key != null && value != null) {
sdt.setType(key);
sdt.setValue(value);
}
}
if (sdt != null)
sdtList.add(sdt);
}
dlt.setDestination(sdtList);
aeet.setDestinationList(dlt);
}
// extension2
if (extObject.get("extension") != null) {
AggregationEventExtension2Type aee2t = new AggregationEventExtension2Type();
BsonDocument extension = extObject.getDocument("extension");
aee2t = putAggregationExtension(aee2t, extension);
aeet.setExtension(aee2t);
}